<?php

namespace JsonLowCode\Traits\Events;

/**
 * 设置输入框常规事件
 */
trait HasModelValueEvent
{

    /**
     * 发生改变时的回调函数
     * @param string $key 键
     * @param string $event 事件
     * @param bool $isJSExpression 是否js表达式
     * @return $this
     */
    public function onUpdateKey(string $key = "", string $event = "", bool $isJSExpression = false): static
    {
        return $this->events("onUpdate:".$key,$event,$isJSExpression);
    }

    /**
     * 发生改变时的回调函数
     * @param string $event 函数字符串 (value: string | [string, string]) => void
     * @param bool $isJSExpression 是否js表达式
     * @return $this
     */
    public function onUpdateValue(string $event = "", bool $isJSExpression = false): static
    {
        return $this->onUpdateKey("value",$event,$isJSExpression);
    }
}
